-----BEGIN PGP SIGNED MESSAGE-----

=============================================================================
FreeBSD-SA-01:60                                           Security Advisory
                                                                FreeBSD, Inc.

Topic:          Multiple vulnerabilities in procmail signal handling

Category:       ports
Module:         procmail
Announced:      2001-09-24
Credits:        Philip A. Guenther <guenther@sendmail.com>
Affects:        Ports collection prior to the correction date.
Corrected:      2001-06-29 06:46:38 2001 UTC
FreeBSD only:   NO

I.   Background

procmail is an incoming mail processor, typically used to implement
mail filters as well as sorting incoming mail into folders.

II.  Problem Description

procmail versions prior to procmail 3.20 performed unsafe actions
while in the signal handlers.  If a signal is delivered while procmail
is already in an unsafe signal handler, undefined behaviour may
result, possibly leading to the ability to perform actions as the
superuser under unprivileged local user control.

The procmail port is not installed by default, nor is it "part of
FreeBSD" as such: it is part of the FreeBSD ports collection, which
contains over 5900 third-party applications in a ready-to-install
format. The ports collection shipped with FreeBSD 4.4 is not
vulnerable to this problem since it was discovered before its release.

FreeBSD makes no claim about the security of these third-party
applications, although an effort is underway to provide a security
audit of the most security-critical ports.

III. Impact

Because procmail runs setuid root, a local attacker may be able to
take advantage of these problems in order to obtain superuser
privileges, although there are no known exploits as of the date of
this advisory.

IV.  Workaround

1) Deinstall the procmail port/package if you have it installed.

V.   Solution

The port procmail-3.20 and later versions include fixes for these
vulnerabilities.

1) Upgrade your entire ports collection and rebuild the procmail port.

2) Deinstall the old package and install a new package dated after the
correction date, obtained from the following directories:

[i386]
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/mail/procmail-3.21.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/mail/procmail-3.21.tgz

[alpha]
Packages are not automatically generated for the alpha architecture at
this time due to lack of build resources.

3) Download a new port skeleton for the procmail port from:

http://www.freebsd.org/ports/

and use it to rebuild the port.

4) Use the portcheckout utility to automate option (3) above. The
portcheckout port is available in /usr/ports/devel/portcheckout or the
package can be obtained from:

ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/devel/portcheckout-2.0.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/devel/portcheckout-2.0.tgz

VI.  Correction details

The following list contains the revision numbers of each file that was
corrected in the FreeBSD ports collection.

Path                                                             Revision
- -------------------------------------------------------------------------
ports/mail/procmail/Makefile                                         1.38
ports/mail/procmail/distinfo                                         1.11
- -------------------------------------------------------------------------  

VII. References

<URL:http://www.somelist.com/mail.php/282/view/1200950>
<URL:http://www.xray.mpe.mpg.de/mailing-lists/procmail/2001-06/msg00369.html>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (FreeBSD)
Comment: For info see http://www.gnupg.org

iQCVAwUBO6+biVUuHi5z0oilAQHoEgP9HCVVpBp0+sTfJR5ATE2B5rVCLk6qQZVC
oGsQ2Xr5pm6JZfcFM4iuSPqdd8weosX6l1g81uyBTM7aHvae5ul+iQLNkFyW2CeI
98lGEa2pWV9Qw7/c19/nUSHwTGr++9XtUGysfnpI/zSQqGjkcNJF3gVe4Hsn153Q
wJ5Y519JoC4=
=Ti/S
-----END PGP SIGNATURE-----
